<!DOCTYPE html>
<html>
    <head>
        <title>Dartmouth College</title>
        <script src="../static/jspsych-6.3.1/jspsych.js"></script>
        <script src="../static/jspsych-6.3.1/plugins/jspsych-survey-text.js"></script>
        <script src="../static/jspsych-6.3.1/plugins/jspsych-call-function.js"></script>
        <script src="../static/jspsych-6.3.1/plugins/jspsych-html-keyboard-response.js"></script>
        <script src="../static/jspsych-6.3.1/plugins/jspsych-html-button-response.js"></script>
        <script src="../static/jspsych-6.3.1/plugins/jspsych-survey-multi-choice.js"></script>
        <script src="../static/jspsych-6.3.1/plugins/jspsych-html-slider-response.js"></script>
        <script src="../static/jspsych-6.3.1/plugins/jspsych-test.js"></script>
        <link href="../static/jspsych-6.3.1/css/jspsych.css" rel="stylesheet" type="text/css"></link>
        <script.src = 'https://code.jquery.com/jquery-3.4.1.min.js'></script>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <body>
    </body> 
    <script>

    //variables
    var completion_code = '';
    var super_cats = jsPsych.randomization.sampleWithoutReplacement(['zoo animals', 'vegetables'], 2);
    var cat_dict = {'zoo animals': ['zoo animals you would take with you on a plane', 'zoo animals you would use to pop a balloon', 'zoo animals that could be trained in gymnastics'], 'vegetables': ['vegetables that you would use to paint your house', 'vegetables that you would wear as jewelry', 'vegetables that could be used to catch a fish']};
    var item_lists = {'vegetables that you would wear as jewelry': ['onions', 'garlic', 'peppers', 'cucumbers', 'tomatoes', 'broccoli', 'brussels sprouts', 'carrots', 'asparagus', 'squash', 'cabbage', 'beets', 'potatoes', 'peas', 'zucchini', 'snap peas', 'corn', 'cherry tomatoes', 'green beans', 'chili peppers', 'lettuce', 'celery', 'cauliflower', 'spinach', 'olives', 'radish', 'apples', 'pears', 'okra', 'pineapples', 'grapes', 'avocado', 'mushrooms', 'eggplant', 'watermelon', 'ginger', 'beans', 'artichokes', 'string beans', 'lima beans', 'chilli peppers', 'turnips', 'kale', 'baby carrots', 'sprouts', 'chives', 'sweet potatoes', 'oranges', 'peaches', 'brussells sprouts', 'cilantro', 'pumpkins', 'parsnips', 'kiwi', 'strawberries', 'shallots', 'leeks', 'peanuts', 'raisins', 'bananas', 'bok choy', 'olives'], 'vegetables that you would use to paint your house': ['cucumbers', 'zucchini', 'eggplant', 'cauliflower', 'broccoli', 'carrots', 'celery', 'spinach', 'lettuce', 'kale', 'asparagus', 'squash', 'corn', 'potatoes', 'peas', 'peppers', 'avocado', 'pumpkins', 'beets', 'tomatoes', 'mushrooms', 'chili peppers', 'green beans', 'brussels sprouts', 'onions', 'garlic', 'cabbage', 'beans', 'rhubarb', 'parsley', 'string beans', 'arugula', 'turnips', 'collard greens', 'sweet potatoes', 'leeks', 'radish', 'green onions', 'bananas', 'seaweed', 'blackberries', 'jalapenos', 'cilantro', 'bok choy', 'okra', 'artichokes', 'watermelon', 'oranges', 'strawberries', 'peaches', 'apples', 'grapes', 'pears'],'vegetables that could be used to catch a fish': ['celery', 'corn', 'cucumbers', 'eggplant', 'squash', 'asparagus', 'carrots', 'mushrooms', 'peppers', 'lettuce', 'zucchini', 'snow peas', 'broccoli', 'cauliflower', 'kale', 'onions', 'radish', 'spinach', 'arugula', 'potatoes', 'leeks', 'turnips', 'beets', 'tomatoes', 'cabbage', 'brussels sprouts', 'peas', 'lima bean', 'artichokes', 'green beans', 'jalapenos', 'parsnips', 'seaweed', 'bok choy', 'watercress', 'avocado', 'sweet potatoes', 'pickles', 'yams', 'pumpkins', 'okra', 'garlic', 'apples', 'beans', 'green onions', 'swiss chard', 'sprouts', 'parsley', 'lima beans', 'cilantro', 'scallions'],'zoo animals you would use to pop a balloon': ['narwhal', 'elephant', 'tiger', 'cheetah', 'lion', 'jaguar', 'bear', 'koala', 'giraffe', 'hippo', 'porcupine', 'monkey', 'bird', 'gorilla', 'cougar', 'pufferfish', 'toucan', 'beaver', 'otter', 'chimp', 'hedgehog', 'macaw', 'rhino', 'snake', 'hawk', 'ape', 'orangutan', 'parrot', 'panther', 'anteater', 'camel', 'deer', 'panda', 'alligator', 'leopard', 'wolf', 'swordfish', 'stingray', 'kangaroo', 'turtle', 'bison', 'peacock', 'goat', 'horse', 'dog', 'zebra', 'rabbit', 'lizard', 'flamingo', 'rooster', 'ostrich', 'penguin', 'emu', 'crocodile', 'heron', 'eagle', 'armadillo', 'gazelle', 'lemur', 'antelope', 'hyena', 'moose', 'buffalo', 'wolverine', 'seal', 'stork', 'shark', 'sloth', 'scorpion', 'fox', 'polar bear', 'tarantula', 'whale', 'bat', 'puma', 'dolphin', 'pelican', 'llama', 'owl', 'cobra', 'cat', 'cow', 'chicken'],'zoo animals you would take with you on a plane': ['zebra', 'lion', 'tiger', 'monkey', 'snake', 'giraffe', 'alligator', 'elephant', 'polar bear', 'penguin', 'flamingo', 'peacock', 'chimp', 'turtle', 'tortoise', 'koala', 'sloth', 'parrot', 'gorilla', 'orangutan', 'eagle', 'cheetah', 'macaw', 'butterfly', 'anteater', 'otter', 'lemur', 'wolf', 'red panda', 'rabbit', 'owl', 'fish', 'panda', 'beaver', 'fox', 'lion cub', 'tiger cub', 'bear cub', 'meerkat', 'crocodile', 'seal', 'kangaroo', 'donkey', 'goat', 'bear', 'bird', 'llama', 'rhino', 'coyote', 'bobcat', 'deer', 'pig', 'toucan', 'toad', 'hyena', 'iguana', 'lizard', 'antelope', 'porcupine', 'cat', 'chinchilla', 'groundhog', 'rat', 'prairie dog', 'dog', 'duck', 'ferret', 'bat', 'baby tiger', 'baby giraffe', 'baby lion', 'hippo', 'ape', 'ostrich', 'camel', 'sheep', 'badger', 'snow leopard', 'raccoon', 'squirrel', 'frog', 'mouse', 'spider', 'hawk', 'bison', 'horse', 'falcon', 'leopard', 'gopher', 'lynx', 'capybara', 'baby elephant', 'chicken', 'skunk', 'baboon', 'parakeet', 'bald eagle', 'insect', 'gecko'],'zoo animals that could be trained in gymnastics': ['giraffe', 'monkey', 'koala', 'sloth', 'elephant', 'snake', 'lemur', 'kangaroo', 'panda', 'tiger', 'cat', 'gorilla', 'alligator', 'lion', 'hippo', 'dog', 'bear', 'chimp', 'leopard', 'spider monkey', 'squirrel monkey', 'seal', 'dolphin', 'zebra', 'horse', 'macaw', 'ape', 'bonobo', 'lynx', 'orangutan', 'parrot', 'hyena', 'whale', 'bird', 'goat', 'cougar', 'sea lion', 'turtle', 'meerkat', 'pig', 'pony', 'otter', 'bobcat', 'wolf', 'lizard', 'skunk', 'opossum', 'rhino', 'cheetah', 'ostrich', 'mouse', 'rat', 'owl', 'flamingo', 'gazelle', 'ferret', 'marmoset', 'camel', 'emu', 'fish', 'eagle', 'donkey', 'bat', 'red panda', 'polar bear', 'penguin', 'llama', 'panther', 'rabbit', 'fox', 'jaguar', 'hawk', 'octopus', 'squirrel', 'coyote', 'peacock', 'baboon', 'raccoon', 'swan', 'puma', 'shark', 'deer']};
    //add one cat per super cat
    var cats = []
    for(i=0;i<super_cats.length;i++){
        cats.push(jsPsych.randomization.sampleWithoutReplacement(cat_dict[super_cats[i]],1)[0])
    }
    var num_comparisons = 5;
    //now get item_list for each cat
    var items_to_compare = {}
    for(i=0;i<cats.length;i++){
        items_to_compare[cats[i]] = jsPsych.randomization.sampleWithoutReplacement(item_lists[cats[i]], num_comparisons*2);
    } 
    var cat_idx = 0;
    var comp_idx = 0;
    var num_trials = cats.length * num_comparisons;

    var timeline = [];

    // consent
    var consent = {
        type: "html-button-response",
        stimulus: "<DIV align='left'><div>&nbsp;</div><div>Please consider this information carefully before deciding whether to participate in this research.</div><div>&nbsp;</div><div>The purpose of this research is to examine which factors influence social judgment and decision-</div><div>making. You will be asked to make judgements about individuals and actions in social scenarios.</div><div>We are simply interested in your judgement. The study will take less than 1 hour to complete,</div><div>and you will receive less than $20 on Amazon Mechanical Turk. Your compensation and time</div><div>commitment are specified in the study description. There are no anticipated risks associated with</div><div>participating in this study. The effects of participating should be comparable to those you would</div><div>ordinarily experience from viewing a computer monitor and using a mouse or keyboard for a</div><div>similar amount of time. At the end of the study, we will provide an explanation of the questions</div><div>that motivate this line of research and will describe the potential implications.</div><div>&nbsp;</div><div>Your participation in this study is completely voluntary and you may refuse to participate or you</div><div>may choose to withdraw at any time without penalty or loss of benefits to you which are</div><div>otherwise entitled. Your participation in this study will remain confidential. No personally</div><div>identifiable information will be associated with your data. Also, all analyses of the data will be</div><div>averaged across all the participants, so your individual responses will never be specifically</div><div>analyzed.</div><div>&nbsp;</div><div>If you have questions or concerns about your participation or payment, or want to request a</div><div>summary of research findings, please contact Dr. Jonathan Phillips at</div><div><a href=mailto:Jonathan.S.Phillips@dartmouth.edu>Jonathan.S.Phillips@dartmouth.edu</a>.</div><div>&nbsp;</div><div>Please save a copy of this form for your records.</div><div>&nbsp;</div></DIV><div>Agreement:</div><DIV align='left'><div>The nature and purpose of this research have been sufficiently explained and I agree to</div><div>participate in this study. I understand that I am free to withdraw at any time without incurring</div><div>any penalty. Please consent by clicking the button below to continue. Otherwise, please exit the</div><div>study at any time.</div><div>&nbsp;</div></DIV>",
        choices: ['Submit']
    };

    //welcome
    var welcome = {
	    type: "html-keyboard-response",
	    stimulus: "<div class='center-content'><br><br><br><br>Welcome to the HIT. Press any key to begin.",
    };

    //get subject ID
    var get_id = {
	    type: 'survey-text',
        preamble: ["Please enter your Prolific Worker ID below.<br><br>If you do not enter your ID accurately, we will not be able to pay you."],
        questions: [{prompt: "Worker ID:", name: "subject_id", required: true}],
        on_finish: function(data){
            jsPsych.data.addProperties({
                subject_id: data['response']['subject_id'],
            });
        }
    }

    //set instructions
    var instructions = {
        type: "html-keyboard-response",
        stimulus: "In this experiment, you will be asked to compare things in a certain category. <br><br>Press any key to begin."
    };

    //category specific instructions
    var cat_instructions = {
        type: "html-button-response",
        stimulus: function() {
            return "We asked people to name <b>" + cats[cat_idx] + "</b>.<br>You will see pairs of these responses, and be asked to list similarities and differences between them.<br>Please list whatever similarities and differences come to mind.<br><br>";
        },
        choices: ['Begin']
    }
    
    //compare two category members
    comp_trial = {
        type: 'survey-text',
        preamble: function() {
            var a1 = items_to_compare[cats[cat_idx]][(2*comp_idx)];
            var a2 = items_to_compare[cats[cat_idx]][(2*comp_idx)+1];
            var art = "a "
            if(['vegetables that you would use to paint your house', 'vegetables that you would wear as jewelry', 'vegetables that could be used to catch a fish'].includes(cats[cat_idx])){
                art="";
            }
            return "<br>In the category of " + cats[cat_idx] + ", consider " + art + "<b>" + a1 + "</b> and " + art + "<b>" + a2 + "</b>.<br>What are their similarities and differences?<br>Please compare them below, listing one similarity or difference per text box.<br>If you have extra boxes, just type n/a.<br><br>";
        },
        questions: [
            { prompt: "Similarities", required: "true", columns: 80},
            { prompt: "", required: "true", columns: 80},
            { prompt: "", required: "true", columns: 80},
            { prompt: "", required: "true", columns: 80},
            { prompt: "Differences:", required: "true", columns: 80},
            { prompt: "", required: "true", columns: 80},
            { prompt: "", required: "true", columns: 80},
            { prompt: "", required: "true", columns: 80},
        ],
        on_finish: function(data) {
            t_data = {}
            t_data.items = [items_to_compare[cats[cat_idx]][(2*comp_idx)], items_to_compare[cats[cat_idx]][(2*comp_idx)+1]];
            t_data.responses = Object.values(data.response);
            t_data.rt = data.rt;
            t_data.cat = cats[cat_idx];
            t_data.subject_id = data.subject_id;
            t_data.exp_phase = "trial";
            t_data.trial_order = data.trial_index;
            save_data(t_data);
            comp_idx = comp_idx + 1;
            if(comp_idx==num_comparisons) {
                comp_idx = 0;
                cat_idx = cat_idx + 1;
            }
        }
    }

    //demographic information  
    var demo_instructions = {
        type: "html-keyboard-response",
        stimulus: "<div>Next, please provide us with some demographic information.</div><div>Press any key to begin.</div>",
    };
    var demo1 = {
        type: 'survey-text',
        preamble: '',
        questions: [{prompt: "How old are you?", required: true}, {prompt: "What is your native language?", required: true}, {prompt: "What is your nationality?", required: true}, {prompt: "In which country do you live?", required: true}],
    };
    //saves data on completion of this trial
    var demo2 = {
        type: 'survey-multi-choice',
        preamble: "Please provide us with some demographic information.",
        questions: [
            {prompt: "What is your gender?", options: ["Male","Female","Other"], required:true}, 
            {prompt: "Are you a student?", options: ["Yes","No"], required: true},
            {prompt: "What is your education level?", options: ["Grade/elementary school","High school","Some college or university","College or university degree","Graduate degree, Masters","PhD"], required: true}
        ],
        on_finish: function(data) {
            data.exp_phase = 'subject_info';
            var lastData = jsPsych.data.get().last(2).values();
            var demo1 = lastData[0]['response'];
            var demo2 = lastData[1]['response'];
            data.age = demo1['Q0'];
            data.language = demo1['Q1'];
            data.nationality = demo1['Q2'];
            data.country = demo1['Q3'];
            data.gender = demo2['Q0'];
            data.student = demo2['Q1'];
            data.education = demo2['Q2'];
            data.completion_code = completion_code;
            save_data(data);
        },
	};

    //provide completion code
    var end = {
        type: "html-button-response",
        stimulus: "<h4>Thank you for your participation!</h4><h4>In order to complete this HIT, you must enter the code below into Prolific.</h4><h4>Your secret completion code is:<br><br>" + completion_code + "<br><br>Copy this code now.</h4><h4>Once you've copied it, click the button below to leave this window.</h4>",
        choices: ['Finish'],
    };

    //debrief
    var end_debrief = {
	    type: "html-keyboard-response",
	    stimulus: "<DIV align='left'><div>&nbsp;</div><div><strong>Study Debriefing</strong></div><div>Judgement and decision making are important aspects of public and private life. Using surveys</div><div>like the one you just completed, we are examining the factors that go into making social</div><div>decisions.</div><div>&nbsp;</div><div><strong>How is this being tested?</strong></div><div>We have asked you to respond to stories or videos that differ on several important factors. By</div><div>isolating different variables that are involved in social thought, we can better understand how we</div><div>arrive at complex decision-making. For example, some actions are seen as more worthy of blame</div><div>if they are performed intentionally. Harming someone on purpose is generally worse than</div><div>harming someone by accident, or even harming someone in a way that is foreseen but not</div><div>intended.</div><div>&nbsp;</div><div><strong>Main questions and hypotheses:</strong></div><div>A fundamental goal of our research is to understand the cognitive and emotional factors that</div><div>influence social judgment and decision-making. We are studying these factors by presenting</div><div>people with hypothetical questions that vary in specific ways and seeing which factors make a</div><div>difference. Some people filled out the same survey that you just filled out. Others got slightly</div><div>different surveys.</div><div>&nbsp;</div><div><strong>Why is this important to study?</strong></div><div>By comparing answers on these important factors, we learn about what factors affect social</div><div>judgment. This has crucial implications for many public domains, including the legal system.</div><div>&nbsp;</div><div><strong>How to learn more:</strong></div><div>If you are interested in learning more, you may want to consult the following articles:</div><div>Phillips, J., &amp; Cushman, F. (2017). Morality constrains the default representation of what is</div><div style='padding-left: 30px;'>possible. Proceedings of the National Academy of Sciences of the United States of</div><div style='padding-left: 30px;'>America, 114(18), 4649&ndash;4654. https://doi.org/10.1073/pnas.1619717114</div><div>Phillips, J., Morris, A., &amp; Cushman, F. (2019). How we know what not to think.</div><div style='padding-left: 30px;'>Trends in Cognitive Sciences, 23(12), 1026&ndash;1040. https://doi.org/10.1016/j.tics.2019.09.007</div><div>Phillips, J., Buckwalter, W., Cushman, F., Friedman, O., Martin, A., Turri, J., Santos, L., &amp;</div><div style='padding-left: 30px;'>Knobe, J. (2020). Knowledge before Belief. Behavioral and Brain Sciences, 1-37.</div><div style='padding-left: 30px;'>doi:10.1017/S0140525X20000618</div><div>&nbsp;</div><div><strong>How to contact the researcher:</strong></div><div>If you have questions or concerns about your participation or</div><div>payment, or want to request a summary of research findings, please contact the Primary</div><div>Investigator: Dr. Jonathan Phillips, at Jonathan.S.Phillips@dartmouth.edu.</div><div>Whom to contact about your rights in this research:</div><div>If you have questions, concerns,</div><div>complaints, or suggestions about the present research, you may call the Office of the Committee</div><div>for the Protection of Human Subjects at Dartmouth College (603) 646-6482 during normal</div><div>business hours.</div><div>&nbsp;</div><div><strong>Thank you for your participation!</strong></div><div>&nbsp;</div></DIV>",
    };

    //save data to database
    function save_data(data) {
        var url = "/";
        var xhr = new XMLHttpRequest();
        xhr.open("POST", url, true);
        xhr.setRequestHeader('Content-Type', 'application/json');
        xhr.send(JSON.stringify({
            data
        }));
    }

    timeline.push(consent);
    timeline.push(welcome);
    timeline.push(get_id);
    timeline.push(instructions);
    timeline.push(cat_instructions);
    for (var i = 0; i < cats.length; i++) {
        timeline.push(cat_instructions);
        for (var j = 0; j < num_comparisons; j++) {
            timeline.push(comp_trial);
        }
    };
    timeline.push(demo_instructions)
    timeline.push(demo1);
    timeline.push(demo2);
    timeline.push(end);
    timeline.push(end_debrief);

    jsPsych.init({
        timeline:timeline,
    });

    </script>
</html>